$(function() {
	$('#monthpicker').datetimepicker({
		format : 'yyyy-mm',
		autoclose : true,
		startView : 3, // 日期时间选择器打开之后首先显示的视图
		minView : 3, // 最精准的时间选择为日期0-分 1-时 2-日 3-月
		language : 'zh-CN', // 日期
		defaultDate : "1990-01"
	});
	
	//init month
	
	var now = new Date();
	now.setDate(now.getMonth() - 1);
	$('#monthtext').val(now.Format("yyyy-MM"));
	//$('#monthtext').val('2017-12');

	// 初始化Table
	var oTable = new TableInit();
	oTable.Init();

	// 初始化Button的点击事件
	var oButtonInit = new ButtonInit();
	oButtonInit.Init();
});

var TableInit = function() {
	var oTableInit = new Object();
	// 初始化Table
	oTableInit.Init = function() {
		$('#tb_prohistory').bootstrapTable('destroy');

		$('#tb_prohistory').bootstrapTable({
			url : 'getrotahistory', // 请求后台的URL
			method : 'get', // 请求方式
			dataType : 'json',
			toolbar : '#toolbar', // 工具按钮用哪个容器
			striped : true, // 是否显示行间隔色
			cache : false, // 是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性
			pagination : false, // 是否显示分页
			sortable : true, // 是否启用排序
			sortOrder : "asc", // 排序方式
			queryParams : oTableInit.queryParams,// 传递参数
			sidePagination : "server", // 分页方式：client客户端分页，server服务端分页
			pageNumber : 1, // 初始化加载第一页，默认第一页
			pageSize : 25, // 每页的记录行数
			pageList : [ 10, 25, 50, 100 ], // 可供选择的每页的行数
			search : true, // 是否显示表格搜索，此搜索是客户端搜索，不会进服务端
			strictSearch : true,
			showColumns : true, // 是否显示所有的列
			showRefresh : true, // 是否显示刷新按钮
			minimumCountColumns : 2, // 最少允许的列数
			clickToSelect : true, // 是否启用点击选中行
			height : 700, // 行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
			uniqueId : "ID", // 每一行的唯一标识，一般为主键列
			sortName : 'Date', // 设置默认排序为 name
			showToggle : true, // 是否显示详细视图和列表视图的切换按钮
			cardView : false, // 是否显示详细视图
			detailView : false, // 是否显示父子表
			showExport : true, // 是否显示导出
			exportDataType : "basic",
			columns : [ {
				field : 'dept',
				title : '部门',
				valign : "middle",
				align : "center"
			}, {
				field : 'date',
				title : '日期',
				valign : "middle",
				align : "center"
			}, {
				field : 'rota_person',
				title : '值班表',
				valign : "middle",
				align : "center"
			}, {
				field : 'real_person',
				title : '实际',
				valign : "middle",
				align : "center"
			}, {
				field : 'reason',
				title : '原因',
				valign : "middle",
				align : "center"
			} ],
			onLoadSuccess : function(msg) {
				console.log("加载成功:" + msg);
			},
			onLoadError : function() {
				console.log("加载数据失败");
			}
		});
	};

	// 得到查询的参数
	oTableInit.queryParams = function(params) {
		// 这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
		var temp = {
			limit : params.limit, // 页面大小
			offset : params.offset, // 页码
			month : $("#monthtext").val()
		};
		return temp;
	};
	return oTableInit;
};

var ButtonInit = function() {
	var oInit = new Object();
	var postdata = {};

	oInit.Init = function() {
		// 初始化页面上面的按钮事件
	};

	return oInit;
};

function doQuery(params) {
	$('#tb_prohistory').bootstrapTable('refresh'); // 刷新表格
}

Date.prototype.Format = function(fmt) {
	var o = {
		"M+" : this.getMonth() + 1, // 月份
		"d+" : this.getDate(), // 日
		"h+" : this.getHours(), // 小时
		"m+" : this.getMinutes(), // 分
		"s+" : this.getSeconds(), // 秒
		"q+" : Math.floor((this.getMonth() + 3) / 3), // 季度
		"S" : this.getMilliseconds()
	};
	if (/(y+)/.test(fmt))
		fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "")
				.substr(4 - RegExp.$1.length));
	for ( var k in o)
		if (new RegExp("(" + k + ")").test(fmt))
			fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k])
					: (("00" + o[k]).substr(("" + o[k]).length)));
	return fmt;
}
